home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d27 / crittr12.arc / CRITTER.TXT < prev    next >
Text File  |  1991-07-31  |  19KB  |  432 lines

  1.                            A Critical Error Handler
  2.                    Copyright 1990,1991 by TANSTAAFL Software
  3.                           Version 1.20 July 20, 1991
  4.  
  5.     CRITTER is a terminate and stay resident critical error handler.
  6.     CRITTER replaces DOS's "abort, retry, ignore" message with a pop-up
  7.     window that restores the screen when finished processing the error.
  8.     This version of CRITTER adds printer logging of all non-printer
  9.     errors and is certified for use with MS-DOS 5.0.
  10.  
  11.     Instructions For Use
  12.     --------------------
  13.  
  14.         At some point in your AUTOEXEC.BAT file, type in the command
  15.         'CRITTER'.  The command line parameters below may also be
  16.         inserted.
  17.  
  18.         CRITTER [/U] [/M] [/S] [/Boptions] [/Toptions] [/Noptions]
  19.                 [/Aresponse] [/Otimeout] [/Lprinter]
  20.  
  21.                 /U      Unload the TSR.  Like all TSR's that allow
  22.                         themselves to be unloaded, this feature only
  23.                         works if this TSR was the last one loaded.
  24.                         This TSR will unload correctly from high DOS
  25.                         RAM (above 640K).
  26.  
  27.                 /M      Monochrome switch.  This allows correct
  28.                         display on monochrome monitors connected
  29.                         to color display adapters.
  30.  
  31.                 /S      Sound switch.  This turns off the beep when
  32.                         an error is detected.  Normally a beep is
  33.                         generated to signal an error.
  34.  
  35.                 /B      Allows setting border colors (see below).
  36.  
  37.                 /T      Allows setting title colors (see below).
  38.  
  39.                 /N      Allows setting normal text colors (see below).
  40.  
  41.                 /A      Allows automatic response to an error.
  42.                         Response can be one of the following:
  43.  
  44.                         Response Action         Response Action
  45.                         ---------------------------------------
  46.  
  47.                         A        Abort          R        Retry
  48.                         I        Ignore         F        Fail
  49.                         S        Soft reboot    H        Hard reboot
  50.  
  51.                 /O      Allows user to specify the number of seconds
  52.                         to wait for a user response before triggering
  53.                         the automatic response specified by the /A
  54.                         option.  If /A is specified and /O is not, no
  55.                         screen will be shown and the automatic response
  56.                         will take effect immediately.
  57.  
  58.                 /L      Printer log.  Allows the user to specify a
  59.                         printer number to log errors to.  Valid printer
  60.                         numbers are 1, 2, or 3 and correspond to printers
  61.                         on LPT1, LPT2, or LPT3 respectively.
  62.  
  63.  
  64.  
  65.         Color Options
  66.         -------------
  67.  
  68.         Each color command is followed by characters that determine the
  69.         color to use.  Each color is designated by a single character, as
  70.         indicated by the chart below.  If the character is in upper case,
  71.         it sets the background color.  A lower case character sets the
  72.         foreground color.  Adding a [+] to the string makes the fore-
  73.         ground color bright, while adding a [*] makes it blink.  Color
  74.         commands may be used in any order.
  75.  
  76.         Color           Character       Color           Character
  77.         ---------------------------------------------------------
  78.         Black           K, k            Blue            B, b
  79.         Green           G, g            Cyan            C, c
  80.         Red             R, r            Magenta         M, m
  81.         Yellow          Y, y            White           W, w
  82.         Bright          +               Blink           *
  83.  
  84.         Examples
  85.  
  86.         /bwK            border is dim white on black
  87.         /ty+*R          title is blinking bright yellow on red
  88.         /ncB            text is cyan on blue
  89.  
  90.         Automatic Response
  91.         ------------------
  92.  
  93.         The automatic response feature allows the user to specify a
  94.         default action and timeout duration.  If a critical error occurs
  95.         and the timeout value is specified, CRITTER shows the error
  96.         window and waits for a key to be pressed as usual (A-abort,
  97.         R-retry, etc).  The window will now contain an extra countdown
  98.         timer line.  If the user does not respond before this count
  99.         reaches zero, then the automatic response is triggered.  All
  100.         four possible responses to the error are supported (Abort, Retry,
  101.         Ignore, and Fail).  Not all errors support all responses, however,
  102.         Abort is always enabled, as is Fail on DOS versions 3.x, 4.x & 5.x.
  103.  
  104.         The automatic response unit can also reboot the computer as a
  105.         default response.  Either a hard (reset) or soft (Ctrl-Alt-Del)
  106.         reboot can be triggered.  This is useful for network or BBS
  107.         systems that must run unattended.
  108.  
  109.         The soft reboot feature does not work consistently on some PCs.
  110.         This seems to be caused by minor BIOS incompatibilities.  Before
  111.         relying on a soft reboot, test it once to insure it works on
  112.         your computer.
  113.  
  114.         Printer Logging
  115.         ---------------
  116.  
  117.         With the printer logging feature, errors detected by Critter may
  118.         be logged to your printer.  This is particularly handy when used
  119.         in conjunction with the automatic response feature.  The error log
  120.         contains the same three error lines displayed when CRITTER pops up,
  121.         preceded by a header line and followed by a blank line...
  122.  
  123.             Critical Error Report from Critter follows:
  124.             Drive not ready
  125.             Read error on Drive A:
  126.             Located in File Allocation Table
  127.  
  128.     Critical Error Handler Theory
  129.     -----------------------------
  130.  
  131.         Critical errors are caused by hardware errors, generally in disk
  132.         drives.  These errors may be minor (such as printer out of paper,
  133.         or drive door open) or fairly catastrophic (like a scrambled FAT
  134.         or dead hard disk).  A critical error can be caused by virtually
  135.         any DOS call EXCEPT interrupts 25h and 26h (Absolute Disk Read &
  136.         Write).  A critical error is associated with a device and can be
  137.         either a block device (disk drives) or a character device
  138.         (printer, keyboard, clock, etc.).  Each time the error handler
  139.         is called, parameters are passed that indicate which error
  140.         occured and where it happened.
  141.  
  142.         The DOS critical error handler is entered via software interrupt
  143.         24.  DOS will allow a program to replace the DOS critical error
  144.         handler with its own, but only for the duration of program
  145.         execution.  When the program exits, DOS replaces the address of
  146.         the program's handler, routing all further critical errors to DOS.
  147.         CRITTER patches the resident portion of COMMAND.COM so that
  148.         CRITTER has control of critical errors.  The disk file COMMAND.COM
  149.         is NOT changed.  Due to the unusual way DOS handles INT 24,
  150.         CRITTER can only be unloaded with the /U command line option.  If
  151.         a TSR manager is used (such as MARK and RELEASE), the resident
  152.         portion of COMMAND.COM will not be "unpatched" and the next
  153.         critical error will cause the computer to loop until reset.
  154.         
  155.         The CRITTER critical error handler will give the following
  156.         information:
  157.  
  158.                 Error (DOS)     Write protected disk
  159.                                 Unknown unit
  160.                                 Drive not ready
  161.                                 Unknown command
  162.                                 CRC error in data
  163.                                 Bad drive request
  164.                                 Seek error
  165.                                 Unknown media type
  166.                                 Sector not found
  167.                                 Printer out of paper
  168.                                 Write fault
  169.                                 Read fault
  170.                                 General failure
  171.                                 Sharing violation
  172.                                 Lock violation
  173.                                 Invalid disk change
  174.                                 FCB unavailable
  175.                                 Sharing buffer overflow
  176.  
  177.                 Error (Network) Network busy
  178.                                 Network device no longer exists
  179.                                 NetBIOS command limit exceeded
  180.                                 Network adapter hardware error
  181.                                 Incorrect response from network
  182.                                 Incompatible remote adapter
  183.                                 Print queue full
  184.                                 Not enough space for print file
  185.                                 Print file was deleted
  186.                                 Network name was deleted
  187.                 Error Cause     Read operation
  188.                                 Write operation
  189.  
  190.                 Error Location  System area
  191.                                 File Allocation Table
  192.                                 Directory
  193.                                 Data area
  194.                                 Internal copy of FAT
  195.  
  196.                 Other Info      (char)  Device name
  197.                                 (block) Drive designator
  198.  
  199.         Possible responses to a critical error are Abort, Ignore, Retry,
  200.         or Fail.  Not all responses are possible at all times -- it
  201.         depends on the error and the version of DOS.  The CRITTER software
  202.         enables only those responses that DOS will allow at the time.
  203.  
  204.     Test Results
  205.     ------------
  206.  
  207.         Unfortunately, this software is hard to completely test.  Several
  208.         easy errors can be generated.  These include the write protect
  209.         error, the drive not ready error, the paper out error, and the
  210.         read & write faults.  Other errors could be tested if they were
  211.         physically produced, such as unplugging the clock chip or crashing
  212.         the hard disk (not recommended).
  213.  
  214.         CRITTER was tested with various DOS versions from 2.1 up through
  215.         5.00.  It was tested with various programs and was found to allow
  216.         the tested program to install its own error handler for the
  217.         duration of its execution.  Upon return to DOS, CRITTER continued
  218.         to handle errors correctly.  For those text mode programs that
  219.         don't install their own error handlers, CRITTER takes care of it
  220.         for them.
  221.  
  222.         CRITTER can be loaded high with the loadhigh command under DOS 5.
  223.  
  224.         CRITTER should work with all programs (either by working or by
  225.         getting out of the way); it has been tested with the following
  226.         programs:
  227.  
  228.         Brief 3.0                       Dbase III Plus
  229.         Quattro Professional            Paradox 3.0
  230.         Procomm Plus                    PC Tools 5.5 & 6.0
  231.         Windows 3.0                     Microsoft C 5.1, 6.0
  232.         Turbo C++, Borland C++          Microsoft Assembler 5.1
  233.  
  234.         CRITTER does not work in the DOS compatibility box under OS/2.
  235.  
  236.         In the event that the display is in graphics mode, CRITTER will
  237.         use the DOS handler.  This will result in the screen being
  238.         scrolled.  Most programs that use graphics modes do contain their
  239.         own critical error handlers.
  240.  
  241.     Files In This Archive Include:
  242.     ------------------------------
  243.  
  244.         critter.txt     (this file)
  245.         critter.exe     CRITTER program
  246.  
  247.  
  248.     Future Enhancements
  249.     -------------------
  250.  
  251.         No future enhancements are planned.  If you desire a new feature,
  252.         please contact the authors.  This version of CRITTER is sufficient
  253.         for our needs.  The shareware sales of CRITTER have not been 
  254.         enough to justify major enhancements.
  255.  
  256.         All users are invited to suggest enhancements.  Please contact
  257.         the authors at the communications addresses listed below.
  258.  
  259.     Terms And Conditions
  260.     --------------------
  261.  
  262.         You may use this software freely in any non-military environment.
  263.         You may distribute this software freely as long as the archive
  264.         file contains all of the files mentioned above.  This software
  265.         (Version 1.2) expires after December 31, 1991, and will display
  266.         a message to that effect.  Of course, the standard registered
  267.         version is good forever.
  268.  
  269.         The following purchasing terms are available:
  270.  
  271.         Standard Registration                                   $ 20
  272.         Latest version, disk size of your choice.
  273.  
  274.         Shareware Distribution License                          $100
  275.         Special version for shareware authors wishing to
  276.         distribute CRITTER with their products.  Allows
  277.         unlimited distribution.
  278.  
  279.         Source Code in C and Assembler                          $200 *
  280.         Includes the unusual tricks we used to get CRITTER to
  281.         work and well-commented source code.
  282.  
  283.         Commercial Distribution License                         $300 *
  284.         Special version for authors of commercial software,
  285.         allows unlimited distribution.  With source code.
  286.  
  287.         And of course, if your mailing address is in Colorado,
  288.         include sales tax (currently 7.1%).
  289.  
  290.         If you desire a site license or are a special interest
  291.         group, contact the authors.
  292.  
  293.         * Microsoft C v6.0a and the Microsoft Macro Assembler v5.1
  294.           are required to assemble and/or compile the source.
  295.  
  296.     Communications
  297.     --------------
  298.  
  299.         We may be reached by the following methods for feedback:
  300.  
  301.         on GENIE        TANSTAAFL              (Dana Cline)
  302.  
  303.         on INTERNET     dcline@isis.cs.du.edu  (Dana Cline)
  304.  
  305.         on CompuServe   74606,525              (Dean McCrory)
  306.                         73700,3053             (Dana Cline)
  307.  
  308.         by phone        (303) 989-7389 After 8 AM and before
  309.                         10 PM MST (Thanks!).  I do have an
  310.                         answering machine, which has an unlimited
  311.                         message length.  I am generally not in
  312.                         during the day (I have to work, too).
  313.  
  314.         by mail         Dana W. Cline  
  315.                         TANSTAAFL Software
  316.                         P. O. Box 260075
  317.                         Lakewood, CO  80226
  318.  
  319.         Feedback of all types is appreciated.
  320.  
  321.     Disclaimer
  322.     ----------
  323.  
  324.         The authors claim no responsibility for any damages caused by the
  325.         use or misuse of this product.  This product is distributed "as is"
  326.         with no warranty expressed or implied.  The authors will not be
  327.         responsible for any losses incurred, either directly or indirectly,
  328.         by the use or misuse of this product.  The authors reserve the
  329.         right to make modifications at any time.  Prices are subject to
  330.         change without notice.
  331.  
  332.     Thanks to:
  333.     ----------
  334.  
  335.         Dean McCrory, for making CRITTER go TSR!
  336.         Holly Miller, for much help on this manual.
  337.         Jerry Pournelle, for continually harping about the drawbacks
  338.             of MS-DOS.
  339.         Floyd Pretz, for suggesting the automatic response feature.
  340.  
  341.     Information Sources:
  342.     --------------------
  343.  
  344.         MS-DOS Programmer's Reference, from Microsoft Press
  345.         MS-DOS Developer's Guide, from the Waite Group
  346.         Microsoft C 5.1 Manual, from Microsoft
  347.         MS-DOS Functions, from Microsoft Press
  348.  
  349.     Trademarks
  350.     ----------
  351.  
  352.         Because of the nature of this manual, numerous software products are
  353.         mentioned by their trade names.  In most, if not all, cases these
  354.         designations are claimed as trademarks by the respective companies.
  355.         CRITTER is not a registered trademark, but, hey, we did use it first.
  356.  
  357.                                   Order Form
  358.                               TANSTAAFL Software
  359.  
  360.  
  361.         NAME:     ______________________________________________________
  362.  
  363.         COMPANY:  ______________________________________________________
  364.  
  365.         ADDRESS:  ______________________________________________________
  366.  
  367.                   ______________________________________________________
  368.  
  369.         CITY:     ______________________________________________________
  370.  
  371.         STATE:    ________________________  ZIP CODE:  _________________
  372.  
  373.         PHONE:    ______________________________________________________
  374.  
  375.         E-MAIL ADDRESS:  _______________________________________________
  376.  
  377.         WHERE DID YOU RECEIVE CRITTER?  ________________________________
  378.  
  379.         ________________________________________________________________
  380.  
  381.         DISK SIZE NEEDED: [  ] 3-1/2      [  ] 5-1/4
  382.  
  383.         COMMENTS:  _____________________________________________________
  384.  
  385.         ________________________________________________________________
  386.  
  387.         ________________________________________________________________
  388.  
  389.         Basic Registration              @ $ 20.00             __________
  390.  
  391.         Shareware Distribution License  @ $100.00             __________
  392.  
  393.         Source Code in C and Assembler  @ $200.00             __________
  394.  
  395.         Commercial Distribution License @ $300.00             __________
  396.  
  397.         Colorado sales tax              @ 7.1 %               __________
  398.  
  399.         Non-US Shipping @ $5.00                               __________
  400.             (Payments must be in US Dollars, US bank)
  401.  
  402.                                                     TOTAL:   $__________
  403.  
  404.         Checks or money orders only.  Cash is accepted but
  405.         discouraged.  Absolutely no company P.O's!
  406.  
  407.         Remit to:         Dana W. Cline
  408.                           TANSTAAFL Software
  409.                           P.O. Box 260075
  410.                           Lakewood, CO  80226
  411.  
  412.         Version History
  413.         ---------------
  414.  
  415.         Version         Date            Features / Bug Fixes
  416.         ----------------------------------------------------
  417.  
  418.         1.00            04/26/90        Original release.
  419.  
  420.         1.10            05/11/90        Automatic response and
  421.                                         timeout feature added.
  422.  
  423.         1.20            07/20/91        Printer logging. Reduce resident
  424.                                         size by about 700 bytes.  Use C6
  425.                                         compiler.
  426.  
  427.         Sysops Note
  428.         -----------
  429.  
  430.         This copy of CRITTER will refuse to run after December 31, 1991.
  431.         Please contact TANSTAAFL software about getting a 1992 version.
  432.